#include <iostream>
#include <vector>
#include <algorithm>
#include <regex>

std::string analyzeWords(std::string inputStr) {
    std::vector<std::string> words;
    std::string word;
    std::istringstream iss(inputStr);
    
    while (iss >> word) {
        words.push_back(word);
    }
    
    if (words.size() <= 1) {
        return "Мало данных для анализа";
    }
    
    int countCyrUpper = std::count_if(words.begin(), words.end(), [](const std::string& word){
        return std::regex_match(word, std::regex("[А-Я]"));
    });
    
    int countLatin = std::count_if(words.begin(), words.end(), [](const std::string& word){
        return std::regex_search(word, std::regex("[a-zA-Z]"));
    });
    
    int countShort = std::count_if(words.begin(), words.end(), [](const std::string& word){
        return word.size() <= 3;
    });
    
    int countHyphen = std::count_if(words.begin(), words.end(), [](const std::string& word){
        return word.find('-') != std::string::npos;
    });
    
    auto longestWord = *std::max_element(words.begin(), words.end(), [](const std::string& a, const std::string& b){
        return a.size() < b.size();
    });
    
    std::string result = "Кол-во слов: " + std::to_string(words.size()) + "\n";
    result += "Кол-во слов с заглавной кириллической буквы: " + std::to_string(countCyrUpper) + "\n";
    result += "Кол-во слов содержащих латинский символ: " + std::to_string(countLatin) + "\n";
    result += "Кол-во слов не превышающих 3 символа: " + std::to_string(countShort) + "\n";
    result += "Кол-во слов в составе которых имеется дефис: " + std::to_string(countHyphen) + "\n";
    result += "Самое длинное слово: " + longestWord + "\n";
    result += "Длина слова: " + std::to_string(longestWord.size());
    
    return result;
}

int main() {
    std::string inputStr;
    std::cout << "Введите слова через пробел: ";
    std::getline(std::cin, inputStr);
    
    std::cout << analyzeWords(inputStr) << std::endl;
    
    return 0;
}

